home *** CD-ROM | disk | FTP | other *** search
-
-
- <=--------------------------------------------=>
- MSX2 Emulator v1.8 Beta - 1994/95 © RED Soft
- <=--------------------------------------------=>
- (Shareware version, March '95)
- (Time limited)
-
-
- Programming and emulating systems by:
-
- --=> Juan Antonio Gómez Gálvez <=--
-
-
- PSG emulation (MSX's sound chip) by:
-
- --=> Sergi Martínez <=--
-
-
- MSX2 Hardware Informations by:
-
- --=> Manuel Hiniesta García <=--
-
-
-
- <=---=>
- Index
- <=---=>
-
- 0.- Note from the author
- 1.- Introduction.
- 2.- Menu
- 3.- Hardware emulation
- 4.- MSX peripheals emulation.
- 5.- Technical data.
- 6.- Errors, compatibility, etc...
- 7.- Story...
- 8.- How to get the full version.
- 9.- Copyrights.
- 10.- Emulation quality
- 11.- Greetings.
-
- <=------------------------------------------------=>
-
- 0.- Note from the author
- ------------------------
-
- Finally, I decided give up programming the MSX2 emulator due to the
- low number of people interested in it. The coding of a MSX2 emulator is
- really difficult and hard, and this need a lot of hours of work. (if you
- don't belive me, try to make another emulator...)
-
- So the emulator will remain with no development, at least for a while.
- If I recive enough registration letters I will continue programming it.
-
- The author.
- <=---------------------------------------------=>
-
-
- 1.- Introduction
- ----------------
-
- This version (TIME LIMITED) is FreeWare, it can be freely spreaded as
- long as you don't sell it. All files must be present:
-
- MSX2_v1.8 MSX2 Emulator with 256Kb RAM, 128Kb VRAM.
- MSX2_v1.8.English.doc This file
- MSX2_v1.8.doc Doc file in Spanish
- and .info files Workbench icons
-
-
-
- <*> What is required:
- ----------------------
-
- - AMIGA computer with Motorola 68020 or better processor.
- - ROM 2.0 or newer.
- - File DEVS:mfm.device © Commodore-Amiga inc.
- - 1.8 Megs of memory approx.
- - PAL, NTSC or compatible monitor.
-
- (1.5 Mb Fast32bit required to get the maximum speed)
- (AGA chipset is not required, but they are used if found)
- (mfm.device can be found in Workbench disk, in DEVS: drawer)
-
- Try to free as Fast32bit memory as possible before running the emulator.
-
- This program is coded using AMIGA HARDWARE, so multitasking is disabled,
- but mfm.device is used to emulate disk drive and multitasking is enabled
- during disk access. Due to this, I recommend not to have programs using
- multitasking when the emulator is used. Also the emulater "freezes"
- input.device when it is using mfm.device.
-
- Many people asks me for a multitasking emulator. Well to do this I
- should use system libraries, and the emulator would be 5 times slower. Have
- you got an A4000/040? Well, I don't ;-). I just have got an A1200.
-
- The emulator works a 18% SLOWER on 16bit-fast (PCMCIA) than on
- 32bit-Chip, so turn off your pcmcia ram to get a faster emulation.
-
- MSX's disk format is the same than PC's (720Kb). If the disk you want to
- use with MSX Emulator is formatted in a PC (or using PCx: drives on Amiga)
- you should install MSX boot on it. To do this, instert your PC-formatted
- diskette in DF0 and press "MSX Boot" gadget in menu. If you don't do this,
- the emulator will hang up when trying to boot that diskete.
-
- I do NOT guarantee this program emulates a complete MSX, I don't assume
- responsability if any information or data is lost while the emulator is
- being used.
-
- Emulation speed depends on the computer you have. To get real MSX speed
- you need at least an A1200 equipped with 32bit Fastmemmory. Be patient if
- you own a standard 1200!
-
- <=------------------------------------------------=>
-
- To contact the author, write to:
-
- Juan Antonio Gomez Galvez
- Apdo. 275
- 08940 Cornella de Llobregat
- BARCELONA (Spain)
-
- Phone: +343 375-57-77
-
-
- You can also contact Sergi Martinez via E-mail writting to:
-
- FIDONET 2:343/133.13
- AMIGANET 39:190/2.13
- REDBSS 757:101/8.13
- VVISION 60:100/146.13
-
- <=------------------------------------------------=>
-
-
- 2.- Menu
- --------
-
- <*> Disk Drivers:
- ------------------
-
- With this gadgets you select which Amiga-diskdrives will be used to
- emulate MSX drives A: and B: . If both A: and B: drives are OFF, MSX Disk
- Basic ROM will not be emulated.
-
-
- <*> MSX's joystick port 2:
- --------------------------
-
- "Port 0 ON" gadget is to determine if MSX's port 2 is emulated or not.
- This port is emulated in Amiga's mouse port, and many games would think a
- joystick is connected and would read illogical values. Activate this gadget
- only when you are going to use 2 joysticks.
-
-
- <*> MSX Boot:
- -------------
-
- This gadget installs MSX's boot-block on the disk at DF0. You should do
- this if the disk is formated in a PC or using PCx: .
-
-
- <*> MSX2.doc:
- ------------
-
- Saves .doc files in RAM:
-
- In future versions (if any) this gadgets will save MSX's VRAM as an IFF
- ILBM file (with palette in screen 5 & 7!!!)
-
-
- <*> VDP Options:
- ----------------
-
- - "Screen" selects display mode.
-
- * (MSX Mode) MSX will select NTSC or PAL when required.
- * (WB mode) MSX won't be able to exchange display mode.
- * PAL (50 Hz) The emulator will always run in PAL mode.
- * NTSC (60 Hz) The emulator will always run in NTSC mode.
-
- (MSX Mode not implemented)
-
- - "Inter" is to determine how many interruptions will be generated per
- second. In a real MSX, this value is 50 vblanks. If a game runs very slow,
- it is possible that setting this gadget to a lower value make it run a
- littke faster.
-
- - "Re-Int": A lot of games used re-interruptions, and due to this I
- could make a lot better emulation. If your Amiga has enough speed, put it
- at 25 or 50 vblanks, but if you own a slow Amiga put it at 10 vblanks and
- some games will speed up.
-
- Note: I recomment setting it always at 10 vblanks, but if a game runs
- too fast and music is slower set it to 50 vblanks. (under some circumstances
- the emulator may hang-up if this value is 50 vblanks).
-
-
- <*> Emulation Speed:
- --------------------
-
- With this gadget you determine how much of frame time will be used to
- emulate Z-80A (100%=Top speed). If a game works too fast just put this
- slider to a lower value.
-
-
- <*> Other Gadgets:
- ------------------
-
- - About: Some credits about this great program!
- -----
- - Go: Makes an MSX's hard reset.
- --
- - Continue: To continue the emulation when you pressed Help.
- --------
- - Exit: To quit this great program!
- ----
-
- <=------------------------------------------------=>
-
-
- 3.- Hardware Emulation.
- -----------------------
-
- <*> Z-80A (Processor) Emulated at a 98%
- -----------------------
- All works correctly except this:
-
- - Flags N and H are not emulated.
- - SP register can write in ROM!
- - Flag P is only emulated at instructions OR, AND, XOR.
-
- Some games fail due to some bugs un Z-80A emulation. Theese bugs are
- ver hard to find, so I will need a lot of time to find and fix them.
-
- <=---------------------=>
-
- <*> VDP (Graphics chip) Emulated at a 40%
- -------------------------
-
- * Sprites:
- ----------
- - AMPLIATED sprites are not emulated.
- - 8 sprites per line are supported instead of 4 in MSX1 modes.
- - MSX2 sprites not emulated (1 color per Y line)
-
- * Text modes:
- ------------
- - TEXT1 mode (scr 0 width < 41) 100% emulated.
- - TEXT2 mode (scr 0 width > 40) flash not emulated.
- - MULTI mode (screen 3) not emulated. Why? Nobody used it...
- - GRAPH 1 & 2 (scr 1 & 2) 100% emulated.
-
- * Graphic modes:
- ---------------
- - GRAPH 3 (scr 4) not emulated (will be emulated GRAPH 2 mode (scr 2)
- - GRAPH 4 & 6 modes (scr 5 & 7) 100% emulated (with no sprites)
- - GRAPH 5 (scr 6) not emulated. (this is why MSX logo doesn't appear)
- - GRAPH mode 7 (scr 8): (not implemented)
- - AGA Chipset: 100% emulated with no sprites
- - ECS/OCS: Emulated on 32 colors, 1 bit per RGB is lost.
-
- * VDP Registers:
- ---------------
- - Starting screen line emulated. (hardware scroll), but it only works
- once per frame. (It will be 100% emulated in future versions)
- - Palette registers emulated
- - Emulated Writing and Reading from registers in indirect mode.
- - Horizontal interrupt emulated as vertical.
- - Adjust register not emulated.
- - Lace mode not emulated, neither are the rest of registers...
-
- * VDP Commands:
- --------------
- - Logical operators:
- --------------------
- - IMP: Only emulated in GRAPH 4 & 6 (scr 5 & 7) with a bug in X
- descending mode masks.
- - AND,OR,XOR,TIMP,TAND,TXOR emulates as IMP.
-
- - Logical operators commands:
- -----------------------------
- - HMMV Paint: Only emulated with color 0 in GRAPH 4 & 6 (scr 5 & 7)
- with a bug in X descending mode masks.
- - HMMM VRAM=>VRAM: Only emulated in GRAPH 4 & 6 (scr 5 & 7) with a
- bug in X descending mode masks.
- - LMMV Paint: Emulated as HMMV Paint.
- - LMMM VRAM=>VRAM: Emulated as HMMM VRAM=>VRAM.
- - HMMC, YMMM, LMMC, LMCM, LINE, SRCH, PSET, POINT & STOP: Not
- emulated.
-
- * Status registers:
- ------------------
- - Only emulated 0 and 2 registers.
- - Not emulated the rest upto 9 register.
-
- <=------------------=>
-
- <*> PSG (Sound Chip) Emulated at a 99%
- ----------------------
- It works correctly.
-
- <=------------------------------------------------=>
-
-
- 4.- MSX peripheals emulation.
- -----------------------------
-
- <*> Joystick ports. Emulated at a 99%
- --------------------
- (IN SHAREWARE VERSION JOYSTICK IS NOT EMULATED, YOU MUST USE KEYBOARD
- TO PLAY THE GAMES)
-
- Two firebuttons in MSX are supported. Left Amiga and Right Amiga keys
- work like joystick second firebutton.
-
- A Joypad can be used.
-
- Amiga firebutton 1 = MSX firebutton 1
- Amiga firebutton 2 & 3 = MSX firebutton 2
-
- Amiga A port = MSX B port
- Amiga B port = MSX A port
-
-
- <*> Keyboard. Emulated at a 99%
- --------------
- Correctly emulated.
-
- There is a bug in Amiga 1200 keyboard, and some keys can't be pressed
- together. To solve this, you can press DEL key and then press all keys you
- want separately. MSX rom will think that you are pressing all keys at the
- same time until you press DEL key again.
-
- MSX keyboard is the same than Amiga's except the following keys:
-
- AMIGA MSX
- ------- -----
- F6 SELECT
- F7 STOP
- F8 HOME/CLS
- F9 INS
- F10 DEL
- Left ALT GRAPH
- Right ALT CODE
-
- DEL Multikey mode ON/OFF
- < > CAPS LOCK
- ç Ç Dead key. (accents)
-
- Left Amiga JoyStick 1 - 2nd firebutton
- Right Amiga JoyStick 2 - 2nd firebutton
-
- CTRL+Left ALT+HELP MSX Reset
-
- HELP Go to Workbench's menu. (Exit)
-
-
- <*> Disk drive. Emulated at a 99%
- ----------------
-
- Double sided and single sided MSX disks are supported. (2DD and 1DD)
-
- Make sure your disks have got a MSX boot to avoid a hang up when the
- MSX is booting from a disk drive. You can install it in menu, using "MSX
- Boot" gadget.
- DO NOT INSTALL ALL DISKS you get, because some MSX disks had their own
- boot to run the game. Install only disks that you've formatted in a PC or
- using PCx: drives.
-
- To emulate MSX disk drives I have had to "kill" the interrupt that
- warns the Amiga that a disk has been changed, so when you exit the emulator
- the diskdrive will not recognise Amiga disks. I am sorry.
-
- It is better not to mount neither PCx nor DSx from Workbench.
-
-
- <*> Memory.
- ------------
- A 256Kb RAM and 128Kb VRAM MSX2 is emulated.
-
- Sub-Slots (&HFFFF) are not supported, so there are NO COMPATIBILITY
- PROBLEMS with Sony or Philips memory models!
-
- If you get a "out of memory" error, try to disable drive B: emulation.
-
- <*> Clock Battery
- ------------------
- Correctly emulated.
-
-
- <*> Printer port.
- ------------------
- Not emulated. (I haven't got a printer, and I can't make an emulation
- without it!)
-
- <=------------------------------------------------=>
-
-
- 5.- Technical Data:
- -------------------
-
- The basis of this emulator have been taken from my first MSX1 emulator
- (256Kb version)
-
- The emulator has been programmed using assembler, on an A1200/020 28Mhz
- 2Mb Chip 4Mb Fast.
-
- In order to make the emulation as fast as possible, this program
- disables multitasking and it is programmed using Amiga hardware (all but
- the menu and diskdrive, of course!)
-
- To test the emulator, I used a Philips NMS-8280 MSX2 from my friend
- Manuel Hiniesta.
-
- <*> Slots configuration on emulated MSX2:
- -----------------------------------------
- * Slot 0: ROM
- - Page 0: MSX2 ROM Bios.
- - Page 1: MSX-Basic ROM.
- * Slot 1: Cartdridge slot 1.
- * Slot 2: Cartdridge slot 2.
- - Page 0: MSX-Basic Sub-ROM.
- - Page 1: MSX Disk-Basic ROM.
- * Slot 3: 256Kb memory mapped RAM (without sub-slots).
-
-
- <*> Z-80A Emulation speed: (±5%)
- --------------------------
- Routine in MSX-Basic:
-
- Time=0:For I=0 to 10000:Next:Print Time
-
- Computer Time %
- ---------------------- ------ ------
- MSX2 Philips NMS-8280 864 100%
- Amiga 1200/20 No Fast. 2144 40%
- Amiga 1200/20 PCMCIA.
- Amiga 1200/20 14Mz.
- Amiga 1200/20 28Mz. 577 150%
- Amiga 1200/30 28Mz.
- Amiga 1200/30 50Mz.
- Amiga 4000/30 33Mz.
- Amiga 4000/40 25Mz.
-
- <=------------------------------------------------=>
-
-
- 6.- Errors, compatibility, etc...
- ---------------------------------------
-
- When you have got an emulator and a program for the computer emulated
- you always think: "will it work?". If it works all is OK, but if it fails
- we always think that the emulator doesn't work correctly.
-
- Of course the emulator still has some bugs, because they are very
- difficult to find. These bugs will be being fixed in future versions, but
- this can last a lot of time (MSX emulator source is HUGE)
-
- But not all fails are because of bugs, they can be for other reasons:
-
- MSX computer, just like PC incompatibles, were manufactured by a lot of
- companies, and not all MSX were identical each other. Well, some bad
- programmed games does not take care of theese possible differences and they
- only work in certain machines. MSX emulator tries to emulate the most
- extended MSX computer configuration, but some programs will still fail.
-
- Some games were originally designed to run from tape, but pirates
- converted them to disk. MSX Disk ROM uses some memory to manage disk
- drives, and due to this some games won't work because they won't find
- enough free memory. Theese games won't even work on a real MSX in the
- same circumstances.
-
- Some games fail due to emulation speed is slower than MSX speed. These
- games would fail in a MSX slower than the standard. If it happens, try
- setting "Re-Int" gadget in menu to a lower value.
-
- Well, don't be scared! The emulator works perfecty with most games, and
- if one fails maybe another version of the same program works correctly...
-
- All programs that work in PC's MSX emulator should run in Amiga's MSX
- emulator (and even better!).
-
- If a program doesn't work, try it on another version of the emulator
- (64Kb, 256Kb, MSX2...)
-
- <=------------------------------------------------=>
-
-
- 7.- Story...
- ------------
-
- The basis of this emulator were taken from my first MSX1 emulator. From
- it, I developed the following versions:
-
- MSX2 Emulator v1.7: (February'95)
- -------------------
-
- - Poor emulation of graphic modes 4 & 6 (screen 5 & 7)
- - Poor emulation of VDP copy function
- - 128Kb VRAM emulation
- - Uses MSX1 ROM.
-
- MSX2 Emulator v1.8: (March'95)
- -------------------
-
- - 80 columns text mode emulated.
- - Full emulation of GRAPH 4 & 6 modes (scr 5 & 7) without sprites.
- - VDP copy mode emulated.
- - Clock Battery emulated.
- - Single sided disks emulation done.
- - Interrupt mode 2 correctly emulated.
- - Uses MSX2 ROM.
-
- <=------------------------------------------------=>
-
-
- 8.- How to get the full version:
- --------------------------------
-
- (I DON'T KNOW IF I WILL FINISH THE EMULATOR ANY DAY)
-
- To get this version or the last version I have got without time limit
- and with all gadgets working you must register.
-
- What is registering?
-
- Well, it's easy. You must send me a letter with these information:
-
- <=---------------------------------------------------------------------=>
-
- MSX2 Emulator Register:
- -----------------------
-
- - Full Name: ____________________________________________________________
-
- - Address: ______________________________________________________________
-
- _______________________________________________________________________
-
- - Amiga you own: ________________________________________________________
-
- - Bugs, suggestions, Ideas, etc... ______________________________________
- <=---------------------------------------------------------------------=>
-
- <*> Very important:
-
- - ONLY FOR THE MSX2 EMULATOR.
- - If your name or address is missing, your register won't be valid.
-
-
- -=> To register, write to:
- ----------------------
-
- Juan Antonio Gomez Galvez
- Apdo: 275
- 08940 Cornella de Llobregat
- BARCELONA
-
- You will recive the registered version of the MSX2 emulator in C.O.D.
- (to Cash On Delivery). I think it will cost you about $50 (I don't know the
- cost of sending a disk outside Spain).
- People registered to my MSX1 emulator will only pay about $25.
-
- The disk I will send to you will be a new TDK or Nashua disk, with the
- latest available version of the emulator and REGISTERED WITH YOUR NAME AND
- ADDRESS.
-
- What will I get if I register this program?
-
- - This version (or newer) of MSX emulator with unlimited time,
- joysticks enabled and all menu options working.
- - All new versions of this program without paying it again. In that
- case you should send me a disk every 2 or 3 months and I will copy you the
- latest version available.
- - Complete MSX1 emulator.
-
-
- How can I loose my register?
-
- The version I sent to you has your name and address on it. Also there
- is a code inside the emulator, so I will know who spreaded a registered
- version even if register name and address have been changed. So if I find
- this program in a BBS or somebody tells me that he has seen a "cracked"
- version, the guy who spreaded the program will loose his register.
-
- MSX EMULATOR IS NOT PUBLIC DOMAIN, so it can NOT be sold. If somebody
- buys the registered version to another one, he won't have the profits of
- being a registered user.
-
- And after that, I would like to say the following:
-
- I do NOT guarantee this program emulates a complete MSX2, I am not
- responsible if anuthing fails or doesn't work. I assume NO responsabilities
- if information or data are lost when using the emulator.
-
- Thigs that doesn't work in shareware version, will probably don't work
- in registered version.
-
- (ALL THINGS ABOVE ONLY IF I FINALLY CONTINUE WITH THE EMULATOR)
-
- <=------------------------------------------------=>
-
-
- 9.- Copyrights
- --------------
-
- DEVPAC III is © HiSoft.
- GadToolsBox is © Jaba Development.
- mfm.device is © Commodore-Amiga inc.
- MSX Roms are © ASCII corp.
- Amiga's MSX Emulator is © RED Soft S.L. (Barcelona) Spain.
- ZXAM Spectrum Emulator is © Toni Pomar (WareSoft).
-
- <=------------------------------------------------=>
-
-
- 10.- Emulation quality:
- -----------------------
-
- The Z-80A emulation is very good, but there are still some bugs.
-
- In some games, re-interrupts may cause the computer to hang up. Nemesis
- III (converted by Martos) and Penguin Adventure (converted by Sergi
- Martinez) will hang up if Re-Int is set to 50 vblank/s. This is due to
- syncronizations.
-
- Graphic quality of the emulator depends on the game we emulate.
- Japanish games used hardware very correctly and the emulation is awesome,
- but most european or american games were Spectrum conversion. That means
- that the game was first programmed on a Spectrum and then modified a little
- to make it run on a MSX, so we had a MSX emulating Spectrum screen.
- MSX's graphic chip is a lot better than Spectrum's one, and is much
- more difficult to emulate.
-
- So if you want to play a Spectrum converted game, I recommend you to
- use the great ZXAM Spectrum Emulator by Toni Pomar, because it is better
- emulate a Spectrum than emulate a MSX that is emulating a Spectrum.
-
- MSX2 games work well, but some hardware "cheats" surely won't be
- correctly emulated.
-
- To develope the emulator, I tested with "Peach Up" disks, and they run
- really well, but games doesn't work so good, because VDP HMMC function is
- not emulated and many games used it...
-
- <=------------------------------------------------=>
-
- 11.- Greetings.
- ---------------
-
- I wish to greet all following people their helps in the developement of
- the MSX emulator:
-
- - Manuel Hiniesta for his great ideas and letting me test all I wanted
- on his MSX2, and for talking about my emulator in 6th MSX-Party in
- Barcelona.
-
- - Jordi Tirado for lending me some books.
-
- - Sergi Martinez for his PSG emulation and many other helps, and for
- looking for information about diskdrives and Z-80A secret instructions.
- Greets also for uploading the emulator to some BBSs and for his helps
- during the developement of the program.
-
- - Ronald Gorter and Albert Siersema for all informations about MSX's
- disk drivers. Why don't you ask our messages? Are you angry with us?
-
- - Alberto Orante for Workbench's MSX icons and for trying to find
- information about MSX diskdrives.
-
- - Toni Pomar for telling me Z-80A secret instructions. (Only you and
- me know how hard is to code a Z-80A emulator, isn't it? Good luck with your
- Spectrum +3 128Kb emulator!)
-
- - MEGA Soft for all MSX games.
-
- - Juanma & Rafa Romero for letting me test the emulator on their
- A1200+32bit Fastmemory.
-
- - Alex Baque (Nuku-Nuku/Future Brain) for letting me test the emulator
- on his A4000/030 - 33Mz.
-
- - Miguel Angel (Puck/Unknowns) for testing the emulator on his A1200 +
- fast 16bits. (PCMCIA)
-
- - Joan Sola for uploading the emulator trough InterNet.
-
- - Ramon Ribas for showing the emulator at Tilburg MSX-party in the
- Netherlands.
-
- <*=*> Thanks to all following people for their moral support:
- --------------------------------------------------------------
-
- - All Mezcal group. (Leviathan, Frank-Einstein and Wolf Man)
- - José García, Raul Ureña, Ricardo Martínez, Eduardo Martínez
- (your texts in MSX-Club magazine are excellent), Javier López, Antonio
- Olivero and Jose Carlos de Albuquerque.
-
- Greetings to all these people that didn't left the MSX, not like me who
- left it and bought an Amiga (I was an Anti-Amiga too! ;-)
-
-
- <*=*> This program is dedicated to my BEST friends: (Not in special order)
- ----------------------------------------------------
-
- Manuel Hiniesta, Jordi Tirado, David Rael, José Alvelo, Francisco
- Carretero, Toni Molar, Isa Cabello, Bea Román, Loli Sánchez, Ana Cabello,
- Montse Mansilla and my little sister Rafy.
-
- Well, that's all. I'm gona load a Peach Up disk...
-
- <=------------------------------------------------=>
- Juan Antonio Gomez - Programmer.
-
- //
- Thanks to \X/ Amiga for being the best computer.
-